#include <stdio.h>
#include <string.h>

#define NAMESIZE	32

// struct stu_st 结构体类型
struct stu_st {
	int id;
	char name[NAMESIZE];
	float score;
};

int main(void)
{
	// s1结构体类型的变量
	struct stu_st s1;
	// p1结构体类型的指针
	struct stu_st *p1;
	// arr结构体类型的数组
	struct stu_st arr[3];
	int i;
	// 初始化
	struct stu_st s2 = {10, "和和", 10};

	// s1 = {};
	// 结构体成员
	s1.id = 1;
	strcpy(s1.name, "美琪");
	s1.score = 100;

	p1 = &s1;
	printf("%d %s %f\n", p1->id, p1->name, p1->score);

	for (i = 0; i < 3; i++) {
		arr[i].id = i + 1;
		// 格式化的字符串写入数组
		snprintf((arr + i)->name, NAMESIZE, "stu%d", i + 1);
		arr[i].score = 100 - i;
	}

	p1 = arr;
	for (i = 0; i < 3; i++) {
		printf("%d %s %f\n", p1->id, p1->name, p1->score);
		p1++; // arr++就是错的,arr常量
	}

	return 0;
}

